Skip to content

BLD: support 3.8 pre #27266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

BLD: support 3.8 pre #27266

wants to merge 2 commits into from

Conversation

jreback
Copy link
Contributor

@jreback jreback commented Jul 6, 2019

closes #26626

@jreback jreback added Build Library building on various platforms Python 3.8 labels Jul 6, 2019
@jreback
Copy link
Contributor Author

jreback commented Jul 6, 2019

this is not working yet :-<

https://travis-ci.org/pandas-dev/pandas/jobs/555081822

    error: Command "ccache gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ibuild/src.linux-x86_64-3.8/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.8/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/travis/miniconda3/envs/pandas-dev/include/python3.8m -Ibuild/src.linux-x86_64-3.8/numpy/core/src/common -Ibuild/src.linux-x86_64-3.8/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.8/numpy/core/src/common -Ibuild/src.linux-x86_64-3.8/numpy/core/src/npymath -c build/src.linux-x86_64-3.8/numpy/core/src/npysort/radixsort.c -o build/temp.linux-x86_64-3.8/build/src.linux-x86_64-3.8/numpy/core/src/npysort/radixsort.o -MMD -MF build/temp.linux-x86_64-3.8/build/src.linux-x86_64-3.8/numpy/core/src/npysort/radixsort.o.d" failed with exit status 1
    ----------------------------------------
ERROR: Command "/home/travis/miniconda3/envs/pandas-dev/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-req-build-midvhiik/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-89u54j1w/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-req-build-midvhiik/

any ideas here @mattip

@mattip
Copy link
Contributor

mattip commented Jul 6, 2019

I think you need to add -std=c99 to the CFLAGS

@mattip
Copy link
Contributor

mattip commented Jul 6, 2019

You are building NumPy since NumPy does not yet provide a wheel for python3.8, and somehow the build script is not adding that flag. NumPy seems to be adding it into the CI configurations. This might be a bug in the way pip install git+https://github.com/numpy/numpy is invoking the compiler.

I cannot reproduce on python3.7 (ubuntu 18.04), in a clean virtualenv this works with no error

pip install cython pytz
pip install git+https://github.com/numpy/numpy

@jreback
Copy link
Contributor Author

jreback commented Jul 6, 2019

You are building NumPy since NumPy does not yet provide a wheel for python3.8, and somehow the build script is not adding that flag. NumPy seems to be adding it into the CI configurations. This might be a bug in the way pip install git+https://github.com/numpy/numpy is invoking the compiler.

interesting, is there any way to force this on pip?

@mattip
Copy link
Contributor

mattip commented Jul 6, 2019

Can you try this in a clean python 3.8 virtualenv?

pip install cython pytz
pip install git+https://github.com/numpy/numpy

@jreback
Copy link
Contributor Author

jreback commented Jul 6, 2019

Can you try this in a clean python 3.8 virtualenv?

pip install cython pytz
pip install git+https://github.com/numpy/numpy

I tried this exactly on macosx and it fails as well (was using the conda install via the pre channel for python & pip; cython from source)

e.g. I was always doing
pip install cython pytz --no-binary :all: --pre

@mattip
Copy link
Contributor

mattip commented Jul 6, 2019

Maybe we only set the flag automatically for gcc (I assume you are using clang)? What happens if you

CFLAGS='-std=c99' pip install git+https://github.com/numpy/numpy

You should see the flag appear in the compile flags in the call to the compiler

@jbrockmendel
Copy link
Member

Anything left to do here?

@jreback
Copy link
Contributor Author

jreback commented Jul 12, 2019

numpy is not installing correctly yet.

@mattip
Copy link
Contributor

mattip commented Jul 12, 2019

Steps I took to reproduce, these succeeded for me on x86-64 Ubuntu 18.04

conda init -n python3.8
conda activate python3.8
conda config --env --add channels conda-forge/label/pre-3.8
conda install python=="3.8.*"
python3.8 -mpip install --pre --no-binary :all: cython
python3.8 -mpip install --pre --no-binary :all: git+https://github.com/numpy/numpy

@jbrockmendel
Copy link
Member

@TomAugspurger didnt you recently have a PR that was 3.8-specific? Does that make this either easy or redundant?

@TomAugspurger
Copy link
Contributor

TomAugspurger commented Aug 28, 2019 via email

@jbrockmendel
Copy link
Member

I think we'll need to wait for 3.8b4

pyenv install 3.8-dev now installs 3.8b4. Does that un-block this?

@TomAugspurger
Copy link
Contributor

TomAugspurger commented Sep 16, 2019 via email

@jreback
Copy link
Contributor Author

jreback commented Oct 2, 2019

looks like @jbrockmendel is working on this now.

@jreback jreback closed this Oct 2, 2019
@jreback jreback mentioned this pull request Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Setup python 3.8 builds
4 participants